home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-21 / qemflo.zip / QEMMFLOW.TEC < prev   
Text File  |  1992-12-16  |  43KB  |  931 lines

  1. ID:QF QEMM-386 Advanced Troubleshooting
  2. Quarterdeck Technical Note #113
  3. by David Riess
  4. Last Revision: 16 December 1992
  5.  
  6.      YES, this document IS long!  PLEASE, Do not be intimidated by the
  7. length of this document as you will only need a small part of its contents.
  8.  
  9. PRELIMINARY NOTES
  10. -----------------
  11.      The reason why you are reading this technical note (technote) on QEMM-386
  12. advanced troubleshooting is because you are experiencing a problem with the
  13. functionality of software or hardware on your computer.  Since QEMM-386 is
  14. your memory manager and is the control program for everything that is loaded
  15. after QEMM-386 you may feel that QEMM-386 is causing the problem that you are
  16. experiencing.  However, most problems are the result of the complex
  17. combination of multiple TSRs, device drivers and program(s) currently in
  18. memory trying to run in harmony with the expanded memory manager as well as
  19. the hardware itself.
  20.      Our strategy is to determine whether QEMM-386 is involved with the
  21. problem you are experiencing.  If it turns out that QEMM-386 is causing a
  22. problem then we will systematically follow a procedure to remove the problem.
  23.  
  24.      Before we dive into this technote to resolve your problem, please check
  25. the following list.  Detailed technotes have been written to resolve the
  26. following problems (you will want to obtain the specific technote
  27. before/instead-of continuing with this technote):
  28.  
  29. IF YOUR PROBLEMS ARE RELATED TO:               TECHNOTE    COMPUSERVE   QFAX
  30. -------------------------------                --------    ----------   ----
  31. Stacker                                      STACKER.TEC     STAC2.ZIP   219
  32. DR-DOS 6                                      DRDOS6.TEC    DRDOS6.ZIP   215
  33. Microsoft's Windows 3.x                      WINFLOW.TEC    WINFLO.ZIP   207
  34. an IBM PS/1                                      PS1.TEC       PS1.TEC   234
  35. an Unrecognized Microchannel Adapter             MCA.TEC       MCA.TEC   223
  36. PROTMAN.DOS/.SYS (LAN Manager's driver)       LANMAN.TEC    LANMAN.TEC   227
  37. unusual keyboard misbehavior                      IA.TEC        IA.TEC   221
  38. Pathworks/DECNET                              DECNET.TEC    DECNET.TEC   220
  39. XGA video                                        XGA.TEC       XGA.ZIP   208
  40. IBM's PC Support for 5250                      AS400.TEC     AS400.TEC   212
  41.  
  42. There are five ways to obtain Quarterdeck technotes.  Please go to APPENDIX A
  43. (located on the last page of this technote) if you need information on
  44. obtaining any of the above technotes.
  45.  
  46.  
  47. "EXCEPTION 13" ERROR MESSAGES:
  48. -----------------------------
  49. If your QEMM-386 error manifests into an Exception #13 error message like:
  50.  
  51. Exception #13 at 23EE:0103, error code: 0000
  52. AX=0000 BX=0000 CX=0000 DX=0000 SI=FFFF DI=0000 BP=0000
  53. DS=23EE ES=23EE SS=23EE SP=FFFE Flags=7246
  54. Instruction: 8B 04 C3 03 04 FB 58 A1 AC 02 0B C0 75 06 50
  55. Do you want to (T)erminate the program or (R)eboot?
  56.  
  57. you will want to obtain the technote EX13FLOW.TEC (CompuServe: EX13FL.ZIP; QFAX
  58. technote number 232), which is very similar to this technote; however, it
  59. specifically deals with Exception #13 problems.
  60.  
  61.  
  62. GETTING STARTED
  63. ---------------
  64.      This Quarterdeck Technical Note (technote) has been written to help YOU
  65. troubleshoot and fix most QEMM-386 problems.  We have included an example
  66. scenario for you to follow in order to make this technote as "user-friendly"
  67. as possible.
  68.      At a minimum this QEMM-386 troubleshooting procedure will take 2
  69. steps to complete and you will have to skip ahead to different parts of this
  70. technote depending on the results of previous steps, so PLEASE FOLLOW ALL
  71. INSTRUCTIONS CAREFULLY.
  72.  
  73.      The Quarterdeck Technical Support Staff handles many QEMM-386 calls
  74. every day ranging from the simple to the extremely complex.  This technote
  75. follows the same EXACT procedures which our technical support staff uses to
  76. troubleshoot QEMM-386 problems.
  77.  
  78.      EXAMPLE QEMM-386 PROBLEM SCENARIO:  "I've installed QEMM-386 and
  79. have run the OPTIMIZE program to load my TSRs and device drivers into High
  80. RAM.  I'm running a scanner program from my network drive (drive F:).  I get
  81. into the scanner program without a problem, except every time when I start
  82. scanning my system crashes."
  83.  
  84.      SCENARIO ASSUMPTIONS:  QEMM-386 has been loaded onto the local C: drive
  85. and QEMM-386 is installed in the C:\QEMM subdirectory.
  86.  
  87.      INSTRUCTIONS:  Some of the following steps will have you either edit a
  88. file or run a program from the DOS prompt.  Whenever you see a number followed
  89. by a right parenthesis, ) , perform the action which follows.  Comments
  90. regarding the action will be followed in brackets, [].
  91.  
  92.  
  93.                                    (STEP 1)
  94.  
  95.             TRY TO RE-CREATE THE PROBLEM WITHOUT QEMM-386 INSTALLED
  96.             -------------------------------------------------------
  97.      The first step is to determine if QEMM-386 is involved with the problem
  98. that you are experiencing with your program.  We will need to reboot your
  99. system WITHOUT QEMM-386 and try to re-create the problem to determine if QEMM-
  100. 386 is involved with the problem.
  101.      If QEMM-386 is NOT loaded on your system and the software (or hardware)
  102. STILL has problems, then QEMM-386 is not involved with the error and you will
  103. need to consult the documentation or contact the makers of the software (or
  104. hardware) that is making your system crash.
  105.  
  106. ???  Does your program need expanded memory in order to operate properly?
  107.      If so, please go to STEP 2 (otherwise proceed with this STEP).
  108.      Proceed with this step if you are uncertain if your program uses
  109.      expanded memory.
  110.  
  111.      We will need to re-boot your computer without QEMM-386 loaded.  To
  112. accomplish this, we DO NOT have to modify any of your startup files
  113. (CONFIG.SYS or AUTOEXEC.BAT)!
  114.  
  115.      1) Please re-boot your machine.  During the re-boot, your computer will
  116. BEEP.  When you hear the BEEP, immediately hold down on the ALT key (and keep
  117. it pressed down) until you see the following message on screen:
  118.  
  119.         QEMM386: Press <ESC> to unload QEMM or any other key
  120.         to continue with QEMM...
  121.  
  122. If you do not see this message, please retry again by rebooting your machine.
  123. Press the ESCAPE (ESC) key to bypass QEMM-386 and try to re-create the
  124. problem.
  125.  
  126. ???  If you do not have enough memory to run your program, go to STEP 2.
  127.  
  128. ???  If the problem still exists, go to STEP B.
  129.  
  130. ???  If the problem goes away, go to STEP 2.
  131.  
  132.  
  133.                                    (STEP 2)
  134.  
  135.                QUICK-FIX TROUBLESHOOTING PARAMETERS FOR QEMM-386
  136.                -------------------------------------------------
  137.      This second step is intended for the advanced QEMM-386 user who is
  138. familiar and comfortable with editing and adding parameters to the QEMM386.SYS
  139. line of the CONFIG.SYS file.  If you are not familiar with this process, DON'T
  140. WORRY!  Skip ahead to STEP 3 now, where you will be given examples about how
  141. to edit and add parameters to QEMM-386.
  142.      If the following 3 scenarios do not apply to your QEMM-386 problem or do
  143. not help RESOLVE the problem, then please go to STEP 3 and remove the
  144. parameters specified below (depending on the scenario).
  145.  
  146.       Scenario #1:  When the problem occurs, do you notice that the video
  147. graphics or text is altered (blank screen, part of the screen is altered,
  148. strange lines displayed across the screen, color changes, video-mode switching
  149. problems)?   If so, add the following parameters to the end of the QEMM386.SYS
  150. line of the CONFIG.SYS file:
  151.  
  152.      X=A000-C7FF  NV  NVR
  153.  
  154.      Scenario #2:  When your program experiences the problem, do you notice
  155. that the hard disk (or floppy disk or CD-ROM) is being accessed?  Add the
  156. following parameters to the end of the QEMM386.SYS line of the CONFIG.SYS
  157. file:
  158.  
  159.      X=F000-FFFF  X=C800-CFFF  DB=4  ROM
  160.  
  161. (IF you already had the ROM parameter on the QEMM386.SYS line, then remove
  162. it.) If the scenario #2 parameters help resolve your problem, try removing the
  163. X=C800-CFFF parameter (however keep the other three parameters) .  If the
  164. problem now occurs, then put back the X=C800-CFFF parameter.
  165.  
  166.      Scenario #3:  Are you getting an Exception #12 error message:
  167.  
  168.      Exception #12 at 23EE:0103, error code: 0000
  169.      AX=0000 BX=0000 CX=0000 DX=0000 SI=FFFF DI=0000 BP=0000
  170.      DS=23EE ES=23EE SS=23EE SP=FFFE Flags=7246
  171.      Instruction: 8B 04 C3 03 04 FB 58 A1 AC 02 0B C0 75 06 50
  172.      Do you want to (T)erminate the program or (R)eboot?
  173.  
  174. Exception #12 error messages are usually caused by a stack overflow in DOS.
  175.  
  176.      Look for the STACKS=x,x command line in your CONFIG.SYS file.  If you DO
  177. NOT see this command line, or you have a STACKS= line that is anything other
  178. than STACKS=0,0, then add/replace the following line to the CONFIG.SYS file:
  179.  
  180.      STACKS=0,0
  181.  
  182.      otherwise, if you already have a STACKS=0,0 command line, REMark it out
  183. so that it will not be used by DOS:
  184.  
  185.      REM STACKS=0,0
  186.  
  187.      If the above parameters resolve your problem,  you're done!  If not,
  188. please continue with STEP 3.
  189.  
  190.  
  191.                                    (STEP 3)
  192.  
  193.                    DETERMINING THE FREQUENCY OF THE PROBLEM
  194.                    ----------------------------------------
  195.  
  196.      Troubleshooting QEMM-386 errors can be quite difficult if the problem
  197. occurs infrequently.  In order to troubleshoot ANY problem, you must be able
  198. to know how to reproduce the problem on a frequent basis.  If you cannot
  199. reproduce the error frequently, this technote will not be able to help you
  200. because it's difficult to fix something when you cannot easily tell when the
  201. problem has actually been resolved.
  202.  
  203.      If the problem occurs every time you run a particular application or you
  204. have been experiencing the problem at least twice a day with a given
  205. application, then we can attempt to troubleshoot the problem systematically.
  206.  
  207.      If the problem occurs frequently, please go to STEP 4.
  208.  
  209.      If the problem is NOT frequent (or cannot be reproduced easily), you must
  210. try to determine a pattern by which you can re-create the error on a frequent
  211. basis and then proceed with this technote.  (When troubleshooting, think of
  212. your computer as you'd think of your car: if your car makes unusual noises
  213. every once in a while, you can't expect your automobile mechanic to fix your
  214. car if he can't re-create the problem!)
  215.  
  216.      PLEASE NOTE: Crashes which occur infrequently are usually hardware-
  217. related problems.  These random crashes usually cannot be resolved by
  218. reconfiguring or removing QEMM-386.
  219.  
  220.  
  221.                                    (STEP 4)
  222.  
  223.                        DETERMINING YOUR QEMM-386 VERSION
  224.                        ---------------------------------
  225.      This step determines which version of QEMM-386 you have and will direct
  226. you to the troubleshooting technique needed for solving your program's problem
  227. based on your version of QEMM-386.  Enter the following 3 commands at the DOS
  228. prompt:
  229.  
  230.      1)  C:          [go to the QEMM disk-drive           ]
  231.      2)  CD\QEMM     [go to the QEMM subdirectory         ]
  232.      3)  QEMMREG     [Determine what version you have     ]
  233.  
  234. Here's an EXAMPLE of what you should see on your screen:
  235.  
  236.      Quarterdeck Expanded Memory Manager 386 V5.13    <----------|
  237.      Copyright (c) 1986-1991 by Quarterdeck Office Systems       |
  238.      Serial number: 000-B6-0000-000000                           |
  239.      Registered to: Power User                                   |
  240.      ABC COMPUTER USERS                                          |
  241.      Anywhere, CA  USA                                           |
  242.                                                                  |
  243. ??? What version of QEMM-386 is installed on your machine: ------|
  244.  
  245.         5.00 - 5.13
  246.         ---------------
  247.         go to STEP 6.
  248.  
  249.         6.00 or greater
  250.         ---------------
  251.         go to STEP 5.
  252.  
  253. ***
  254. If QEMMREG returns "Bad command or file name", then either you have a very old
  255. (earlier than 5.00) version of QEMM-386 (in which you should go to STEP 6) or
  256. you have erased the file QEMMREG.COM from your QEMM directory (in which case
  257. you should re-install QEMM-386 on your hard disk, then perform STEP 4 again).
  258. ***
  259.  
  260.  
  261.                                    (STEP 5)
  262.  
  263.       DETERMINING WHETHER STEALTH IS CAUSING A CONFLICT WITH YOUR SYSTEM
  264.       ------------------------------------------------------------------
  265.      You have QEMM-386 version 6.00 or greater.  Quarterdeck has added the
  266. STEALTH feature into your version of QEMM-386 in order to create up to 83K
  267. more of High RAM (up to 115K more on PS/2 machines) than versions before 6.00!
  268. The Stealth feature is invoked with the parameter ST:M or ST:F on the
  269. "DEVICE=C:\QEMM\QEMM386.SYS ..." line of your CONFIG.SYS file (located in the
  270. root directory of your bootup drive).
  271.      Your program's problem may be related to the Stealth feature of QEMM-386,
  272. provided you have invoked Stealth.  We will check your CONFIG.SYS file for the
  273. ST:x parameter to determine the next troubleshooting STEP for you to take.
  274.  
  275.      With a file editor or file viewer, go to the C:\ directory (root
  276. directory of your bootup drive) and load the CONFIG.SYS file.  Search the
  277. DEVICE=C:\QEMM\QEMM386.SYS line for either ST:M or ST:F.
  278.  
  279. ???  If the QEMM386.SYS line DOES NOT have a ST:M or ST:F parameter (which
  280.      means you are not using the Stealth feature of QEMM-386), then go to
  281.      STEP 6.
  282.  
  283.      We want to remove all Stealth-related parameters (ST:M, ST:F, XST=,
  284. XSTI=, DBF=, FSTC, FRAME=) to test whether Stealth is involved with your
  285. program's problem.  Here's an example of removing these parameters:
  286.  
  287. Original line:
  288. DEVICE=C:\QEMM\QEMM386.SYS R:1 RAM ROM X=D000-D3FF ST:M XST=C000
  289.                                                    <---delete-->
  290. Line without Stealth parameters:
  291. DEVICE=C:\QEMM\QEMM386.SYS R:1 RAM ROM X=D000-D3FF
  292.  
  293.      Use a text editor to edit your CONFIG.SYS file and remove the
  294. Stealth-related parameter(s), then re-boot your computer and try to re-create
  295. the problem.
  296.  
  297. ???  If the problem still exists, please go to STEP 6.
  298.  
  299. ???  If the problem goes away, then your program's problem is due to a
  300.      conflict with QEMM-386's Stealth feature.  The next step for you is to
  301.      leave this technical note and get the technote STEALTH.TEC, which covers
  302.      how to correct problems which only occur with Stealth.
  303.  
  304.      Information on obtaining the STEALTH.TEC technote (CompuServe: STEALT.ZIP
  305.      QFAX number: 205) is provided in Appendix-A at the end of this technote.
  306.  
  307.  
  308.                                    (STEP 6)
  309.  
  310.                     CREATE A CLEAN ENVIRONMENT FOR QEMM-386
  311.                     ---------------------------------------
  312.      The problem you are experiencing is caused by either QEMM-386 or by a
  313. device driver in the CONFIG.SYS file or by a program in the AUTOEXEC.BAT file.
  314.      To determine whether the problem is caused by QEMM-386 or a device driver
  315. or program in the CONFIG.SYS or AUTOEXEC.BAT, we must create a clean
  316. environment for QEMM-386.  This requires removing ALL lines from the
  317. CONFIG.SYS and AUTOEXEC.BAT files which do not directly affect the program
  318. that is experiencing problems.
  319.      First, you need to make back-up copies of your CONFIG.SYS and
  320. AUTOEXEC.BAT files (which are located in the root directory) because we are
  321. going to modify these files.  To make the back-up copies of these files
  322. perform the following 4 commands at the DOS prompt:
  323.  
  324.      1) C:
  325.      2) CD\
  326.      3) COPY CONFIG.SYS CONFIG.OLD
  327.      4) COPY AUTOEXEC.BAT AUTOEXEC.OLD
  328.  
  329.      Now, edit your CONFIG.SYS file so that only the lines that are ABSOLUTELY
  330. necessary to re-create the problem remain in the CONFIG.SYS file.  You need
  331. the QEMM386.SYS line and the FILES= line as a minimum; delete every other line
  332. unless it is ABSOLUTELY needed to re-create the problem.
  333.  
  334.      The following is an example CONFIG.SYS file for our example:
  335.  
  336.      #1   DEVICE=C:\QEMM\QEMM386.SYS RAM AROM=C800-CBFF
  337.       2   DEVICE=C:\UTIL\CACHE.SYS
  338.      #3   FILES=25
  339.       4   BUFFERS=30
  340.      #5   DEVICE=C:\QEMM\LOADHI.SYS /R:2 C:\SCAN\SCANNER.SYS 256
  341.       6   DEVICE=C:\DOS\ANSI.SYS
  342.       7   DEVICE=C:\FAXING\FAX.SYS
  343.      #8   SHELL=C:\COMMAND.COM /P /E:768
  344.      #9   DEVICE=C:\QEMM\LOADHI.SYS /R:3 C:\NETW\NETWORK.SYS
  345.      10  STACKS=0,0
  346.  
  347.      The # indicates lines which are ABSOLUTELY necessary to include in the
  348. CONFIG.SYS file in order to re-create the example problem.  Let's see why (you
  349. may want to look at the QEMM-386 example problem scenario located on the
  350. second page of this Technote again):
  351.  
  352.      line  1) We NEED the QEMM-386 driver to re-create the problem.
  353.      line  2) A disk cache IS NOT necessary to re-create the problem.
  354.      line  3) We NEED to include the FILES= statement.
  355.      line  4) The BUFFERS statement IS NOT needed.
  356.      line  5) The scanner IS part of our problem.
  357.      line  6) ANSI.SYS IS NOT needed to re-create the problem.
  358.      line  7) The fax board has NOTHING to do with the problem.
  359.      line  8) The SHELL= statement tells DOS where the command processor is.
  360.      line  9) We NEED to log on to the network to run the scanner program.
  361.      line 10) The Stacks statement IS NOT necessary.
  362.  
  363.      (If you are not sure if a line is absolutely necessary in your CONFIG.SYS
  364. or AUTOEXEC.BAT files, delete it!  Users of real-time disk compression
  365. software products like STACKER or SuperStor should take special care not to
  366. remove any drivers that may be required to access their compressed drives.
  367. Please check your compression software documentation before deleting any
  368. DEVICE line you are unfamiliar with.)
  369.  
  370.      This leaves our CONFIG.SYS with:
  371.  
  372.      DEVICE=C:\QEMM\QEMM386.SYS RAM AROM=C800-CBFF
  373.      FILES=25
  374.      DEVICE=C:\QEMM\LOADHI.SYS /R:2 C:\SCAN\SCANNER.SYS 256
  375.      SHELL=C:\COMMAND.COM /P /E:768
  376.      DEVICE=C:\QEMM\LOADHI.SYS /R:3 C:\NETW\NETWORK.SYS
  377.  
  378.      Now, since the OPTIMIZE program was executed, some of the device drivers
  379. have been loaded high and we have to make sure these drivers are loaded low.
  380. This is because a device driver may behave incorrectly when loaded high, which
  381. the LOADHI program cannot detect in advance!
  382.  
  383.      Original Line:
  384.      DEVICE=C:\QEMM\LOADHI.SYS /R:2 C:\SCAN\SCANNER.SYS 256
  385.             <------delete--------->
  386.  
  387.      Line without LOADHI reference:
  388.      DEVICE=C:\SCAN\SCANNER.SYS 256
  389.  
  390.      This leaves our CONFIG.SYS with:
  391.  
  392.      DEVICE=C:\QEMM\QEMM386.SYS RAM AROM=C800-CBFF
  393.      FILES=25
  394.      DEVICE=C:\SCAN\SCANNER.SYS 256
  395.      SHELL=C:\COMMAND.COM /P /E:768
  396.      DEVICE=C:\NETW\NETWORK.SYS
  397.  
  398.      and boost the FILES= to at least 40.
  399.  
  400.      The final CONFIG.SYS looks like:
  401.  
  402.      DEVICE=C:\QEMM\QEMM386.SYS RAM AROM=C800-CBFF
  403.      FILES=40
  404.      DEVICE=C:\SCAN\SCANNER.SYS 256
  405.      SHELL=C:\COMMAND.COM /P /E:768
  406.      DEVICE=C:\NETW\NETWORK.SYS
  407.  
  408.      (Your CONFIG.SYS may only need the QEMM386.SYS and FILES=40 line.  Don't
  409. worry if your CONFIG.SYS isn't 5 lines long.)
  410.  
  411.      Save the CONFIG.SYS and let's modify your AUTOEXEC.BAT file.  The only
  412. lines which we need to keep are the PROMPT and PATH statements.
  413.  
  414.      The following is an sample AUTOEXEC.BAT file for our example
  415. troubleshooting scenario:
  416.  
  417.       1   ECHO OFF
  418.      #2   PATH C:\;C:\DOS;C:\UTILS;C:\EDITOR;F:\SCANNER;
  419.       3   C:\QEMM\LOADHI C:\UTIL\FASTKEYB
  420.      #4   PROMPT $P$G
  421.      #5   C:\QEMM\LOADHI /R:1 C:\NETW\LOGIN
  422.       6   SET TEMP=F:\WINDOWS\TEMP
  423.       7   FAXSETUP 125
  424.  
  425.      The # indicates lines which are absolutely necessary to re-create the
  426. problem.  Here's why:
  427.  
  428.      Line 1) The ECHO statement IS NOT necessary.
  429.      Line 2) We NEED the PATH statement.
  430.      Line 3) Keyboard accelerator IS NOT needed.
  431.      Line 4) Prompt statement is for your convenience.
  432.      Line 5) We NEED to access the network in our example scenario.
  433.      Line 6) This SET statement IS NOT necessary.
  434.      Line 7) The FAX board has NOTHING to do with our problem.
  435.  
  436.      This leaves our AUTOEXEC.BAT as:
  437.  
  438.           PATH C:\;C:\DOS;C:\UTILS;C:\EDITOR;F:\SCANNER;
  439.           PROMPT $P$G
  440.           C:\QEMM\LOADHI /R:1 C:\NETW\LOGIN
  441.  
  442.      Now, since we have run the OPTIMIZE program, some of our device drivers
  443. have been loaded high and we have to make sure these drivers are loaded low.
  444. All we have to do is remove the LOADHI from these lines.
  445.  
  446.      Original Line:
  447.      C:\QEMM\LOADHI /R:1 C:\NETW\LOGIN
  448.      <----delete------->
  449.  
  450.      New line (without LOADHI reference):
  451.      C:\NETW\LOGIN
  452.  
  453.      This leaves our final AUTOEXEC.BAT with:
  454.  
  455.           PATH C:\;C:\DOS;C:\UTILS;C:\EDITOR;F:\SCANNER;
  456.           PROMPT $P$G
  457.           C:\NETW\LOGIN
  458.  
  459.      (Your AUTOEXEC.BAT may only need the PATH and PROMPT lines.  Don't worry
  460. that your AUTOEXEC.BAT isn't 3 or more lines long)
  461.  
  462.      Save the AUTOEXEC.BAT file.
  463.      Now reboot your machine and try to re-create the problem.
  464.  
  465. ???  If the problem still exists, go to STEP 7.
  466.  
  467. ???  If the problem goes away, go to STEP C.
  468.  
  469.  
  470.                                    (STEP 7)
  471.  
  472.                           MODIFY THE QEMM386.SYS LINE
  473.                           ---------------------------
  474.      By modifying the CONFIG.SYS and AUTOEXEC.BAT files in STEP 6, we have
  475. shown that the problem is caused either by QEMM-386, your program, or a driver
  476. needed to run your program.  Now we will modify your QEMM386.SYS line in the
  477. CONFIG.SYS file by adding parameters (and possibly removing some of the
  478. parameters that are already on the line) to avoid possible conflicts involving
  479. QEMM-386.
  480.  
  481.      Modify the QEMM386.SYS line of your CONFIG.SYS file to look EXACTLY as
  482. follows:
  483.  
  484. DEVICE=C:\QEMM\QEMM386.SYS X=A000-C7FF X=F000-FFFF NO NS NT NCF NOSH DB=4
  485.  
  486. Be sure that you DO NOT add the 'RAM' parameter to this line!
  487.  
  488. ???  If you have a version of QEMM greater than 6.00 and are using the
  489.      Stealth parameter (ST:M or ST:F), please DO NOT include the Stealth
  490.      parameter at this time.  BUT make a mental note of it, as you will add
  491.      this parameter back to the QEMM386.SYS line in STEP 13.  Also, you will
  492.      want to remove any Stealth-related parameters at this time (you may not
  493.      have any of these):  XST= , XSTI=, DBF=, FSTC, FRAME=.
  494.  
  495.      If your QEMM386.SYS line previously contained a parameter to EXCLUDE an
  496. area of memory such as EXCLUDE= or X= or AROM= or ARAM=, then you should also
  497. add this parameter to the end of the QEMM386.SYS line.  DO NOT add any
  498. INCLUDE= or I= parameters, even if you previously had any!  In our example, we
  499. previously had the AROM=C800-CBFF parameter.  Adding this parameter to the
  500. above DEVICE line will modify the line to:
  501.  
  502. DEVICE=C:\QEMM\QEMM386.SYS X=A000-C7FF X=F000-FFFF NO NS NT NCF NOSH DB=4
  503. AROM=C800-CBFF
  504.       ^
  505.      (Please note that the "AROM=" parameter is NOT on the next line,
  506.      but is on the same line immediately after "DB=4".  Many editors
  507.      will allow wrap-around of the same line)
  508.  
  509.      Save the CONFIG.SYS file.
  510.      Now reboot your machine and try to re-create the problem.
  511.  
  512. ???  If the problem still exists, go to STEP 8.
  513.  
  514. ???  If the problem goes away, go to STEP 11.
  515.  
  516.  
  517.                                    (STEP 8)
  518.  
  519.             TRY TO RE-CREATE THE PROBLEM WITHOUT QEMM-386 INSTALLED
  520.             -------------------------------------------------------
  521.      By adding/stripping parameters from the QEMM386.SYS line of your
  522. CONFIG.SYS file, we have eliminated many of the possible conflicts which QEMM-
  523. 386 may have with your system.
  524.      To determine whether QEMM-386 is solely responsible for your problems, we
  525. will need to run your software without QEMM-386 loaded.  If your program uses
  526. expanded memory, then another memory manager (such as DOS 5 or Windows EMM386
  527. driver) MUST be loaded in place of QEMM-386 in order to test whether your
  528. program doesn't work with QEMM-386 vs. any other expanded memory manager.
  529.  
  530. ???  Does your program need expanded memory in order to operate properly? If
  531.      so, please go to STEP 9 (otherwise proceed with this STEP).
  532.  
  533.      We will need to re-boot your computer without QEMM-386 loaded.  To
  534. accomplish this, we DO NOT have to remove the QEMM386.SYS line from the
  535. CONFIG.SYS file!
  536.  
  537.      Please re-boot your machine.  During the re-boot, your computer will
  538. BEEP.  When you hear the BEEP, immediately hold down on the ALT key (and keep
  539. it pressed down) until you see the following message on screen:
  540.  
  541.       QEMM386: Press <ESC> to unload QEMM or any other key
  542.       to continue with QEMM...
  543.  
  544.      If you do not see this message, please retry again by rebooting your
  545. machine!
  546.  
  547.      Press the ESCAPE (ESC) key to bypass QEMM-386 and try to re-create the
  548. problem.
  549.  
  550. ???  If the problem still exists, go to STEP B.
  551.  
  552. ???  If the problem goes away, go to STEP A.
  553.  
  554.  
  555.                                    (STEP 9)
  556.  
  557.             USE ANOTHER EXPANDED MEMORY MANAGER INSTEAD OF QEMM-386
  558.             -------------------------------------------------------
  559.      The problem that you're having may be caused by QEMM-386 or any other
  560. expanded memory manager that is loaded.  If your program or device driver uses
  561. expanded memory, then we must test whether the problem is due solely to
  562. QEMM-386 by testing another expanded memory manager.  If your system has
  563. problems with another expanded memory manager loaded, then your program has a
  564. problem with expanded memory managers in general and QEMM-386 is not to blame
  565. for the errors you have been experiencing.  If this is the case, you should
  566. contact the developers of that program for information on options or special
  567. setup considerations for use with expanded memory managers.
  568.      You are probably running with Windows 3.x or DOS 5, both of which come
  569. with expanded memory managers.  Windows 3.0 comes with HIMEM.SYS and
  570. EMM386.SYS.  Both DOS 5 and Windows 3.1 come with HIMEM.SYS and EMM386.EXE.
  571.      We will now modify your CONFIG.SYS to use these drivers instead of
  572. QEMM-386 and try to re-create the problem.  First, make a back-up copy of the
  573. "clean environment" version of the CONFIG.SYS file by entering the following 3
  574. commands at the DOS prompt:
  575.  
  576.      1) C:
  577.      2) CD\
  578.      3) COPY CONFIG.SYS CONFIG.Q
  579.  
  580.      We will attempt to re-create the problem by using the other drivers,
  581. HIMEM.SYS and EMM386.SYS (EMM386.EXE if you are using DOS 5.0 or Windows 3.1)
  582. which when loaded together are similar to the Extended and Expanded memory
  583. features of QEMM.
  584.  
  585.      First, you must find where these files are located on your hard disk
  586. (They are most likely found in the C:\DOS, C:\, C:\WINDOWS directories).  Now,
  587. edit the CONFIG.SYS and replace the QEMM386.SYS driver with these drivers
  588. (ASSUME for our example that HIMEM.SYS is in the root directory and EMM386.SYS
  589. is in the DOS directory):
  590.  
  591.      DEVICE=C:\HIMEM.SYS
  592.      DEVICE=C:\DOS\EMM386.SYS ON 4096   (EMM386.EXE for DOS 5 or Windows 3.1)
  593.      FILES=40
  594.      DEVICE=C:\SCAN\SCANNER.SYS 256
  595.      SHELL=C:\COMMAND.COM /P /E:768
  596.      DEVICE=C:\NETW\NETWORK.SYS
  597.  
  598.      Save the CONFIG.SYS, reboot, and try to re-create the problem.
  599.  
  600. ???  If the problem still exists, then go to STEP B.
  601.  
  602. ???  If the problem goes away, go to STEP 10.
  603.  
  604.  
  605.                                    (STEP 10)
  606.                                    ---------
  607.  
  608.           CONFIGURE QEMM-386 SIMILARLY TO THE OTHER MEMORY MANAGERS
  609.           ---------------------------------------------------------
  610.  
  611.      We want to find out what the other memory managers are doing to make your
  612. program work properly so that we can configure QEMM-386 to emulate them.  We
  613. must use the MANIFEST program to view what the other drivers are doing.
  614.  
  615.      1) Reboot your computer to get to the DOS prompt
  616.      2) C:\QEMM\MFT        [type this at the DOS prompt to start MANIFEST]
  617.  
  618.      Hit the DOWN-ARROW key once (this will give you the First Meg/Overview
  619. screen).  The box in the center of the screen will look similar to this:
  620.  
  621.      Memory Area   Size   Description
  622.      0000 - 003F     1K   Interrupt Area
  623.      0040 - 004F   0.3K   BIOS Data Area
  624.      0050 - 006F   0.5K   System Data
  625.      0070 - 0FB0    61K   DOS
  626.      0FB1 - 21F8    73K   Program Area
  627.      21F9 - 9FFF   504K   [Available]
  628.      Conventional memory ends at 640K
  629.      A000 - AFFF    64K   VGA Graphics
  630.      B000 - B7FF    32K   Unused
  631.      B800 - BFFF    32K   VGA Text
  632.      C000 - C7FF    32K   Video ROM
  633.      C800 - CFFF    32K   Unused
  634.      D000 - DFFF    64K   Page Frame       <----------------------------|
  635.      E000 - EFFF    64K   Unused                                        |
  636.      F000 - FFFF    64K   System ROM                                    |
  637.                                                                         |
  638.                                                                         |
  639.      Look for the Page Frame.  We must use the QEMM-386 parameter FRAME=|
  640. to emulate where the Page Frame is located when using the other drivers.
  641. (Notice that the Page Frame above starts at D000.)
  642.      Hit the ESCAPE key twice to exit MANIFEST and perform the following four
  643. commands at the DOS prompt:
  644.  
  645.      1) C:
  646.      2) CD\
  647.      3) RENAME CONFIG.SYS CONFIG.M    [Save the CONFIG.SYS w/other drivers]
  648.      4) COPY CONFIG.Q CONFIG.SYS      [Bring back the STEP-9 CONFIG.SYS]
  649.  
  650.      Add the following parameters to the end of the QEMM386.SYS line of your
  651. CONFIG.SYS file:
  652.  
  653.      NV NVR NTR LD NX NR NRH NOVDS FRAME=XXXX
  654.                                          ^^^^
  655.                                         (XXXX is the starting memory area of
  656. the Page Frame when using the other drivers on your machine.  In this EXAMPLE,
  657. FRAME=D000)
  658.      The QEMM386.SYS line for this EXAMPLE now looks like:
  659.  
  660. DEVICE=C:\QEMM\QEMM386.SYS X=A000-C7FF X=F000-FFFF NO NS NT NCF NOSH
  661. AROM=C800-CBFF NV NVR NTR LD NX NR NRH NOVDS FRAME=D000
  662.  
  663.      NOTE: As before, this is all one line; do NOT hit the RETURN key when you
  664. reach NOSH at the end of the first line.
  665.  
  666.      Reboot and try to re-create the problem.
  667.  
  668. ??? If the problem still exists , then go to STEP A.
  669.  
  670. ??? If the problem goes away, then go to STEP 11.
  671.  
  672.  
  673.                                    (STEP 11)
  674.  
  675.                         CREATING HIGH RAM FOR QEMM-386
  676.                         ------------------------------
  677.      We have properly configured QEMM-386 without High RAM to work with your
  678. program.  We must add the RAM parameter to end of the QEMM386.SYS line in your
  679. CONFIG.SYS to create High RAM.  Edit your CONFIG.SYS file and add RAM to the
  680. end of the QEMM386.SYS line (DEVICE=C:\QEMM\QEMM386.SYS ... RAM).
  681.      Reboot your machine and try to re-create the problem.
  682.  
  683. ???  If the problem recurs go to STEP 12.
  684.  
  685. ???  If the problem does not occur then proceed below:
  686.  
  687.      In STEP 7, we added the following parameters to the QEMM386.SYS line:
  688. X=A000-C7FF X=F000-FFFF NO NS NT NCF NOSH DB=4.  We will attempt to recover
  689. some/all of the HIGH Ram which we eXcluded. Edit the QEMM386.SYS line of the
  690. CONFIG.SYS file and delete the three parameters listed below, one at a time.
  691.  
  692.      X=A000-C7FF
  693.      X=F000-FFFF
  694.      NCF
  695.  
  696. (Be sure to save the CONFIG.SYS and reboot the machine, then try to recreate
  697. the problem after each time you remove a parameter!)  If removing any of the
  698. above parameters does not cause the problem to reappear, you DON'T need this
  699. parameter. However, if the problem does occur again, the parameter needs to be
  700. kept.
  701.  
  702. ???  If the problem still doesn't occur and you WERE using the Stealth
  703.      feature (ST:M or ST:F) from QEMM version 6.00 or greater, then go to
  704.      STEP 13.
  705.  
  706. ???  If the problem still doesn't occur and you WERE NOT using the Stealth
  707.      feature (ST:M or ST:F) from QEMM version 6.00 or greater, then go to
  708.      STEP C.
  709.  
  710.  
  711.                                    (STEP 12)
  712.  
  713.                         ELIMINATING HIGH RAM CONFLICTS
  714.                         ------------------------------
  715.      It appears that there is a conflict between one of your adapters and
  716. QEMM-386.  QEMM-386 is not recognizing that your adapter is there and QEMM-386
  717. is mapping memory on top of the adapter memory.  We must exclude all High RAM
  718. areas to test this hypothesis and if indeed this is the case, we will
  719. systematically narrow down what area really needs to be excluded!
  720.  
  721.      1) C:\QEMM\MFT        [type this at the DOS prompt to start MANIFEST]
  722.  
  723.      Hit the DOWN-ARROW key once (this will give you the First Meg/Overview
  724. screen).  The box in the center of the screen will look as follows:
  725.  
  726.      You will see a screen similar to this:
  727.  
  728.      Memory Area   Size   Description
  729.      0000 - 003F     1K   Interrupt Area
  730.      0040 - 004F   0.3K   BIOS Data Area
  731.      0050 - 006F   0.5K   System Data
  732.      0070 - 0FB0    61K   DOS
  733.      0FB1 - 21F8    73K   Program Area
  734.      21F9 - 9FFF   504K   [Available]
  735.      Conventional memory ends at 640K
  736.      A000 - AFFF    64K   VGA Graphics
  737.      B000 - B7FF    32K   Unused
  738.      B800 - BFFF    32K   VGA Text
  739.      C000 - C7FF    32K   Video ROM
  740.      C800 - CFFF    32K   High RAM       <------------|
  741.      D000 - DFFF    64K   Page Frame                  |
  742.      E000 - EFFF    64K   High RAM       <------------|
  743.      F000 - FFFF    64K   System ROM                  |
  744.                                                       |
  745.      We want to eXclude all High RAM areas!    -------|
  746.  
  747.      We do this by using the EXCLUDE= (X=  for short) parameter to QEMM-386.
  748. For this example, we have two High RAM areas to exclude:  from C800-CFFF and
  749. E000-EFFF.  The corresponding parameters to ADD to end of the QEMM386.SYS line
  750. in the CONFIG.SYS file would be:
  751.  
  752.      X=C800-CFFF  X=E000-EFFF
  753.  
  754.      Add as many X= parameters as needed to your CONFIG.SYS to exclude as many
  755. High RAM areas that your machine has.
  756.      Reboot your machine and try to re-create the problem.
  757.  
  758. ???  If the problem occurs, then go to STEP A.
  759.  
  760. ???  If the problem goes away, then we know there was a memory conflict and we
  761.      should now try to narrow down which address range in High RAM has been
  762.      causing the conflict.  This will allow you to get back as much High RAM
  763.      as possible!  Often when there is a conflict in memory, there is a 16K
  764.      area that needs to be excluded and we should now narrow down the
  765.      eXclusion of High RAM areas in question.  EXAMPLE:  We have excluded
  766.      C800-CFFF which is a 32K area and E000-EFFF which is a 64K area.  These
  767.      numbers are in hexadecimal (base 16) and may confuse you!  (You can
  768.      access a technnote on hexadecimal numbers by calling our Q/FAX line,
  769.      (310)-314-3214 to download technote number 190 to your own fax machine.)
  770.      These 2 areas use 6 different 16K areas:  C800-CBFF, CC00-CFFF, E000-
  771.      E3FF, E400-E7FF, E800- EBFF, EC00-EFFF.  To narrow down the area, we
  772.      would use the X= parameter, trying all six combinations, one at a time.
  773.      More than likely, five out of the six combinations will cause the problem
  774.      to occur, but one out of the six will resolve the problem.
  775.  
  776.      The process of actually discovering the address range in High RAM you
  777. must exclude to avoid conflicts, rather than relying on tedious trial and
  778. error, is further explained in the Quarterdeck technote EXCLUDE.TEC.  [The
  779. above information is adequate enough to resolve your conflicts; however, the
  780. technote will further explain the procedures for those wishing to obtain more
  781. information on the topic.]  Please go to Appendix A at the end of this
  782. technote if you wish to obtain EXCLUDE.TEC (COMPUSERVE file name is EXCLUD.ZIP
  783. or QFAX#219).
  784.  
  785.  
  786. ???  When you have determined which area needed to be excluded, and you WERE
  787.      using the Stealth feature (ST:M or ST:F) from QEMM-386 version 6.00 or
  788.      greater, then go to STEP 13.
  789.  
  790. ???  When you have determined which area needed to be excluded, and you WERE
  791.      NOT using the Stealth feature (ST:M or ST:F) from QEMM-386 version 6.00
  792.      or greater, then go to STEP C.
  793.  
  794.  
  795.                                    (STEP 13)
  796.  
  797.                        ADDING THE STEALTH PARAMETER BACK
  798.                        ---------------------------------
  799.      We have properly configured QEMM-386 with High RAM to work with your
  800. program.  We must now add the Stealth (and any Stealth-related) parameter to
  801. the end of the QEMM386.SYS line in your CONFIG.SYS to enable Stealth.  Edit
  802. your CONFIG.SYS file and add ST:M or ST:F (and any Stealth-related parameter
  803. that was ORIGINALLY on your QEMM386.SYS line) to the end of the QEMM386.SYS
  804. line:
  805.  
  806. DEVICE=C:\QEMM\QEMM386.SYS ... RAM ST:x  [possibly other Stealth parameters].
  807.  
  808. Reboot your machine and try to re-create the crash.
  809.  
  810. ???  If the problem still doesn't occur, then go to STEP C.
  811.  
  812. ???  If the problem recurs, then your program's problem is due to a
  813.      conflict with QEMM-386's Stealth feature.  NOW, the next step FOR YOU is
  814.      to leave this technote (for now) and get the technote STEALTH.TEC to
  815.      resolve the Stealth conflict.
  816.  
  817.      Information on obtaining the STEALTH.TEC technote (CompuServe file name
  818.      is STEALT.ZIP; QFAX document number is 205) is provided in Appendix A at
  819.      the end of this technote.
  820.  
  821. Once you have resolved the Stealth-related problem with the current
  822. CONFIG.SYS, please go to STEP C.
  823. ------------------------------------------------------------------------
  824.  
  825.                                (STEP A)
  826.                                --------
  827.      The problem you are having requires further troubleshooting techniques
  828. and investigation.  Call our Technical Support line at (310) 392-9701 for
  829. further assistance -- we'll be happy to help out!
  830.  
  831.      When you call, please have the following files available:
  832.  
  833.      * Your original CONFIG.SYS and AUTOEXEC.BAT files
  834.      * 2-line CONFIG.SYS   (QEMM386.SYS and FILES=xx ONLY)
  835.      * 2-line AUTOEXEC.BAT (PATH and PROMPT ONLY)
  836.      * CONFIG.Q     (only if you have gone thru STEP 9)
  837.      * CONFIG.M     (only if you have gone thru STEP 10)
  838.  
  839.      Be sure to mention that you have been using QEMMFLOW.TEC.
  840.  
  841.  
  842.                                (STEP B)
  843.                                --------
  844.      We have shown that the program in question has problems EVEN WHEN QEMM-
  845. 386 IS NOT LOADED ON YOUR MACHINE.  Therefore QEMM-386 is not responsible for
  846. the problems you are experiencing.  The next step is for you to consult the
  847. documentation or contact the makers of the software or hardware which is
  848. having the problem(s).
  849.  
  850.  
  851.                                (STEP C)
  852.                                --------
  853.      CONGRATULATIONS, you have successfully configured QEMM-386 and your
  854. program to work together!  Enter the following 6 commands at the DOS prompt:
  855.  
  856.      1) C:
  857.      2) CD\
  858.      3) RENAME AUTOEXEC.BAT AUTOEXEC.Q
  859.      4) COPY CONFIG.SYS CONFIG.Q
  860.      5) COPY CONFIG.OLD CONFIG.SYS         [Bring back your original file]
  861.      6) COPY AUTOEXEC.OLD AUTOEXEC.BAT     [Bring back your original file]
  862.  
  863.      Edit the CONFIG.SYS file and replace the original QEMM386.SYS line with
  864. the one you have created by using this technote (now in CONFIG.Q) and make
  865. sure FILES= at least 40!
  866.      Reboot the machine and try to re-create the problem.
  867.  
  868. ???  If the problem is still no longer occurring, the problem is solved!
  869.  
  870. ???  If the problem now occurs, then go to STEP D.
  871.  
  872.  
  873.                                (STEP D)
  874.                                --------
  875.      Since the problem does not occur with the stripped down CONFIG.SYS and
  876. AUTOEXEC.BAT but does occur with a full CONFIG.SYS and AUTOEXEC.BAT file,
  877. there is a command line in one of these files that has been causing the
  878. problem.  To determine which file the command line is in, we will bring back
  879. the AUTOEXEC.BAT (Path and Prompt) that we previously created in STEP 6:
  880.  
  881.      Enter the following 4 commands at the DOS prompt:
  882.  
  883.      1) C:
  884.      2) CD\
  885.      3) COPY AUTOEXEC.BAT AUTOEXEC.OLD
  886.      4) COPY AUTOEXEC.Q AUTOEXEC.BAT
  887.  
  888.      Reboot your machine and try to re-create the problem.
  889.  
  890. ???  If the problem still exists, then we know that the command line which
  891.      is giving us problems is located in the CONFIG.SYS file and if the
  892.      problem goes away, the command line is in the original AUTOEXEC.BAT
  893.      file.
  894.  
  895.      Now you must systematically determine which command line is giving you
  896. trouble!  Try deleting one line at a time (if you have a long CONFIG.SYS or
  897. AUTOEXEC.BAT file try deleting 2-3 lines at a time) until you find out which
  898. line is causing the problem.
  899.      When you finally determine which line is causing the problem:
  900.  
  901.      1) If the device driver or TSR is loaded into High RAM, use the procedure
  902.         in STEP 6 to load it low and see if this corrects the problem.
  903.      2) Read the manual or call the technical support line for the product
  904.         which you are loading to determine where the problem might lie.
  905.      3) If a TSR or device driver has a parameter that tells it to load/use
  906.         XMS or EMS, then have it load/use conventional memory instead.
  907.      4) Refer to your DOS manual to determine DOS command problems.
  908.      5) JUST GET RID OF THAT LINE! The line causing the problem may be issuing
  909.         a command that you really don't need anyway.
  910.  
  911.  
  912.                                (APPENDIX - A)
  913.                        OBTAINING QUARTERDECK TECHNOTES
  914.                        -------------------------------
  915.      There are five ways to obtain Quarterdeck technotes:
  916. 1) On CompuServe [GO QUARTERDECK, Library 2].  Download the CompuServe file
  917.    name.
  918. 2) On BIX [JOIN DESQVIEW, LISTINGS].  Download the TECHNOTE file name.
  919. 3) On the Quarterdeck BBS [310-314-3227].  Download the TECHNOTE file name.
  920. 4) On the Quarterdeck Q/FAX [310-314-3214].  Download the QFAX# (Q/FAX will
  921.    automatically fax the technote back to your fax machine instantly!).
  922. 5) Call Quarterdeck Technical Support [310-392-9701] and we will gladly
  923.    fax/mail it to you.
  924.  
  925.   ************************************************************************
  926.   *          Trademarks are property of their respective owners.         *
  927.   *This technical note may be copied and distributed freely as long as it*
  928.   *is distributed in its entirety and it is not distributed for profit.  *
  929.   *          Copyright (C) 1992 by Quarterdeck Office Systems            *
  930.   ************************ E N D   O F   F I L E *************************
  931.